The Integrated Drive Electronics (IDE) bus is commonly implemented as a secondary bus to interface mass storage devices such as hard disk drives, floppy disk drives, and CD ROM drives. The IDE bus remains the most widely-adopted bus architecture for mass storage devices in personal computer systems. An IDE controller can support a maximum of up to two IDE devices. If two IDE devices connect to one IDE controller, one device is designated as the “master” and the other as the “slave,” according to the IDE protocol. Also, if two IDE controllers are incorporated simultaneously into the same computer, one bus controller is designated as the “primary” with the other as the “secondary.” The master/slave and primary/secondary designations facilitate the complex negotiations between multiple IDE devices and buses.
The IDE interface has evolved from earlier hard disk interfaces in which a hard disk adapter card, including a controller, was installed in a “slot” of a computer system. Such hard disk adapter cards are typically capable of supporting up to two hard disk drives, although only one drive may be written to or read from at a time. The two drives interface to the card through an interface known as the ST506 interface. More recently developed hard disk drives comprise an embedded controller and processor removing the requirement for the adapter card to include its own controller.
For example, some existing data storage systems that utilize IDE, provide a large array of disk drives, two disk drives per IDE bus with an IDE controller. That disk drive configuration provides cost savings compared to SCSI or Fibre Channel disk drives. For packaging density, the disk drives are grouped. However, because only two disk drives may be attached to an IDE bus, this necessitates multiple IDE buses and hub controllers for each group of disk drives. The storage device utilizes separate IDE to USB controllers for each IDE disk drive, requiring three IDE to USB controllers, a hub controller, and the supporting logic and electronic devices.
There is, therefore, a need for a method and apparatus to attach more than two devices to a single IDE controller via a bus, to realize substantial cost savings and component count reductions